// pages/newproduct/mine/productlist.js
const app = getApp()
const utils = require('../../../utils/util.js')
Page({

  /**
   * 页面的初始数据
   */
  data: {
    navHeight: app.globalData.navHeight,
    NewProListData:[],
    tabList:[],
    pageNum:1,
    pageSize:6,
    isRefresh:false,
    hasNoDatas:false,
    styleId:'',
    scrollLeft: 0 // scroll-view 设置横向滚动条位置
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.handleGetStyleList()
  },
  //刷新当前页面
  loadNewData:function(){
    this.data.pageNum = 1
    this.data.isRefresh = true;
    this.handleStyleIdProList(this.data.pageNum)
  },
  //下拉刷新 分页获取到下一页的数据
  loadMoreData:function(){
    this.data.pageNum = this.data.pageNum + 1
    this.handleStyleIdProList(this.data.pageNum, 'more')
  },

  //获取风格列表
  handleGetStyleList:function(){
    utils.$http(app.globalData.api.GetHomeStyleList, {}, 'GET', true, 'JSON').then(res=>{
      if(res.success===1){
        const {data = []} = res
        this.setData({
          tabList:res.data.map((item,index)=>{
            if(index===0){
              item.flag=true
            }else {
              item.flag=false
            }
            return item
          }),
          styleId: data.length > 0 ? data[0].id : ''
        })
        
        // this.setData({
        //   styleId:res.data.length>0&&res.data[0].id
        // })

        this.handleStyleIdProList(this.data.pageNum)
      }
    })
  },
  //刷新父组件列表
  handleUpdateProList(e){
    // console.log(e)
    const { active,index } = e.currentTarget.dataset
    this.setData({
      styleId: active
    })
    this.data.pageNum = 1
    this.handleStyleIdProList(this.data.pageNum)
    this.scrollLeftCompute(index)
  },
  // 获取节点宽度 把之前的相加起来 等于滚动条距离left的距离
  // 设置滚动条的距离 
  scrollLeftCompute:function (currentIndex) {
    // console.log(currentIndex)
    Promise.all([
        utils.getRect('.scroll-view-item', true),
        utils.getRect('.scroll-view')
    ]).then(([tabRects, navRect]) => {
      // console.log(tabRects, navRect)
        const tabRect = tabRects[currentIndex];
        const offsetLeft = tabRects
            .slice(0, currentIndex)
            .reduce((prev, curr) => prev + curr.width + 30, 0);
        this.setData({
            scrollLeft: offsetLeft - (navRect.width - tabRect.width) / 2
        });
    })
  },
  //获取风格下列表数据
  handleStyleIdProList:function(page,type = ''){
    const str={
      page: page,
      rows:this.data.pageSize,
      styleId: this.data.styleId
    }
    utils.$http(app.globalData.api.getNewProPageList, str, 'POST', true, 'JSON').then(res=>{
      if(res.success===1){
        if(type === 'more') {
          if(res.data.records.length === 0){
            this.setData({
              hasNoDatas:true
            })
          }else{
            const list = this.data.NewProListData.concat(res.data.records)
            this.setData({
              NewProListData: list,
              hasNoDatas: false
            })
          }
        } else { 
          this.setData({
            NewProListData:res.data.records,
            isRefresh:false,
            hasNoDatas: false
          })
          wx.stopPullDownRefresh();
        }
      }
    })
  },
//跳转至详情页面
goNewDetailPage(id){
  const data=id.currentTarget.dataset.list
  wx.navigateTo({
    url: '/pages/newproduct/newdetail/index?id='+data,
  })
},
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})